#include <iso646.h>
#include <set>
#include <string>

#ifndef __SILK_STANDARD__
#define __SILK_STANDARD__

enum TokenTypes {
    Keyword,
    Identifier,
    Number,
    String,
    Symbol,
    Operator
};

const std::set<std::string> keyword_set = { "if", "else" };
const std::set<char> symbol_set = { ';', ',', '(', ')', '[', ']', '{', '}', '<', '>', '#' };
const std::set<char> single_operator_set = { '.', '+', '-', '*', '/', '=' };
const std::set<std::string> double_operator_set = { "++", "--", "+=", "-=", "*=", "/=", "//" };

#endif